"""
1. 为什么需要方法重写？
    - 父类的方法不能满足子类的需要，可以对父类的方法重写
    - 重写父类方法的目的是为了给他扩展功能
2. 什么叫做重写？
    - 在子类中定义了一个和父类同名的方法，即为对父类的方法重写
3. 什么是覆盖式重写？
    - 默认情况下，在子类中，只能看到子类的方法，看不到父类的方法
    - 因为子类默认隐藏(覆盖)父类的同名方法
    - 默认情况下，子类默认只会调用子类的同名方法，不会调用父类的

需求：
父类名：Animal
属性：name姓名，age年龄
方法：eat()，打印：动物吃东西

子类名：Cat
重新父类的eat方法，打印：猫吃鱼
"""
class Animal:
    """父类"""
    def __init__(self, name, age):
        print('__init__')
        self.name = name
        self.age = age

    def eat(self):
        print('动物吃东西')

class Cat(Animal):
    def eat(self):
        print('猫吃鱼')

# 实例化子类对象
c = Cat('mike', 2)
c.eat() # 默认只会调用自己的eat()，不会调用父类的，覆盖式重写